COBOL এ কন্ডিশনাল স্টেটমেন্টস (Conditional Statements in COBOL)
COBOL প্রোগ্রামে কন্ডিশনাল স্টেটমেন্ট ব্যবহার করা হয়, যাতে কোডের কিছু অংশ নির্দিষ্ট শর্তের ভিত্তিতে কার্যকরী হয়। COBOL এ কন্ডিশনাল স্টেটমেন্টগুলোর মাধ্যমে বিভিন্ন শর্ত চেক করা সম্ভব হয়, যেমন IF স্টেটমেন্ট, EVALUATE স্টেটমেন্ট ইত্যাদি। নিচে COBOL এ কন্ডিশনাল স্টেটমেন্টগুলোর বিভিন্ন ধরন এবং তাদের ব্যবহার আলোচনা করা হলো।
১. IF স্টেটমেন্ট (IF Statement)
COBOL এ IF স্টেটমেন্টটি শর্ত যাচাই করার জন্য ব্যবহৃত হয়। যদি শর্তটি সঠিক হয়, তাহলে নির্দিষ্ট ব্লকটি কার্যকর হয়, এবং যদি ভুল হয়, তাহলে অন্য একটি ব্লক কার্যকর হয় (যদি ELSE ব্যবহার করা হয়)।
সিনট্যাক্স:
IF condition
statement(s)
ELSE
statement(s)
END-IF.উদাহরণ:
IF AGE > 18
DISPLAY 'You are eligible to vote.'
ELSE
DISPLAY 'You are not eligible to vote.'
END-IF.এখানে যদি AGE ১৮ এর বেশি হয়, তবে "You are eligible to vote." মেসেজটি প্রদর্শিত হবে, আর যদি না হয়, তবে "You are not eligible to vote." মেসেজটি প্রদর্শিত হবে।
২. IF-ELSEIF (Nested IF or Multiple Conditions)
COBOL এ আপনি IF এর মধ্যে আরও শর্ত যোগ করতে পারেন, যা একাধিক শর্ত চেক করতে সাহায্য করে। এটি ELSE IF হিসাবে পরিচিত।
সিনট্যাক্স:
IF condition1
statement(s)
ELSE IF condition2
statement(s)
ELSE
statement(s)
END-IF.উদাহরণ:
IF AGE > 18
DISPLAY 'You are eligible to vote.'
ELSE IF AGE = 18
DISPLAY 'You are just eligible to vote.'
ELSE
DISPLAY 'You are not eligible to vote.'
END-IF.এখানে প্রথমে AGE > 18 শর্ত পরীক্ষা করা হবে, যদি না হয়, তবে AGE = 18 শর্ত পরীক্ষা করা হবে, এবং অন্যথায় ELSE ব্লকটি কার্যকর হবে।
৩. EVALUATE স্টেটমেন্ট (Evaluate Statement)
COBOL এ EVALUATE স্টেটমেন্টটি switch-case এর মতো কাজ করে। এটি একাধিক শর্তের মধ্যে দ্রুত সিদ্ধান্ত নিতে সহায়ক। EVALUATE স্টেটমেন্ট বিশেষভাবে যখন একাধিক শর্ত চেক করার প্রয়োজন হয়, তখন এটি ব্যবহার করা হয়।
সিনট্যাক্স:
EVALUATE expression
WHEN value1
statement(s)
WHEN value2
statement(s)
WHEN OTHER
statement(s)
END-EVALUATE.উদাহরণ:
EVALUATE AGE
WHEN 18
DISPLAY 'You are just eligible to vote.'
WHEN 19 TO 25
DISPLAY 'You are in the youth age group.'
WHEN OTHER
DISPLAY 'You are not in the specific age range.'
END-EVALUATE.এখানে AGE এর মান অনুযায়ী বিভিন্ন মেসেজ প্রদর্শিত হবে। যদি AGE ১৮ হয়, "You are just eligible to vote." দেখাবে, যদি ১৯ থেকে ২৫ এর মধ্যে হয়, "You are in the youth age group." এবং যদি অন্য কোন মান হয়, "You are not in the specific age range." দেখাবে।
৪. IF WITHIN (Range Checking)
COBOL এ WITHIN শব্দটি ব্যবহার করা হয় একাধিক মানের মধ্যে একটি মান যাচাই করার জন্য। এটি বিশেষভাবে একটি পরিসরে মান চেক করার জন্য ব্যবহৃত হয়।
সিনট্যাক্স:
IF variable WITHIN range1 TO range2
statement(s)
END-IF.উদাহরণ:
IF AGE WITHIN 18 TO 25
DISPLAY 'You are in the age group 18-25.'
END-IF.এখানে AGE যদি ১৮ থেকে ২৫ এর মধ্যে হয়, তবে "You are in the age group 18-25." মেসেজটি প্রদর্শিত হবে।
৫. NEGATIVE CONDITIONALS (NOT Condition)
COBOL এ আপনি NOT ব্যবহার করে একটি শর্তের বিপরীত পরীক্ষা করতে পারেন, যা কন্ডিশনটি মিথ্যা হলে কার্যকর হয়।
সিনট্যাক্স:
IF NOT condition
statement(s)
END-IF.উদাহরণ:
IF NOT (AGE > 18)
DISPLAY 'You are not eligible to vote.'
END-IF.এখানে AGE > 18 যদি মিথ্যা হয় (অর্থাৎ AGE ১৮ এর নিচে হয়), তবে "You are not eligible to vote." মেসেজটি প্রদর্শিত হবে।
সারসংক্ষেপ
COBOL প্রোগ্রামে কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে শর্তাধীন লজিক তৈরি করা যায়, যা বিভিন্ন পরিস্থিতিতে কোডের কার্যকারিতা নিয়ন্ত্রণ করে। IF স্টেটমেন্টটি একক শর্ত যাচাইয়ের জন্য ব্যবহৃত হয়, যখন EVALUATE স্টেটমেন্টটি একাধিক শর্ত যাচাইয়ের জন্য ব্যবহার করা হয়। এছাড়া, IF WITHIN দিয়ে রেঞ্জ চেকিং এবং NOT দিয়ে শর্তের বিপরীত পরীক্ষা করা যায়। এই কন্ডিশনাল স্টেটমেন্টগুলি COBOL প্রোগ্রামে শক্তিশালী লজিক এবং শর্তাধীন কার্যক্রম তৈরি করতে সহায়ক।
IF-ELSE স্টেটমেন্ট এর ব্যবহার
COBOL প্রোগ্রামিং ভাষায় IF-ELSE স্টেটমেন্ট একটি শর্তাধীন স্টেটমেন্ট যা প্রোগ্রামটি একটি নির্দিষ্ট শর্তের উপর ভিত্তি করে বিভিন্ন কোড ব্লক কার্যকর করতে সাহায্য করে। এটি প্রোগ্রামারকে শর্ত অনুযায়ী কোড পরিচালনা করতে সক্ষম করে, যেমন কোনো শর্ত সত্য হলে একটি নির্দিষ্ট কাজ করা এবং মিথ্যা হলে অন্য একটি কাজ করা।
IF স্টেটমেন্ট
IF স্টেটমেন্টের সাহায্যে কোনো শর্ত পরীক্ষা করা হয় এবং সেই শর্ত সত্য হলে একটি কোড ব্লক চলতে থাকে।
Sintax:
IF condition
statement(s)
END-IF.এখানে condition হলো যে শর্তটি পরীক্ষা করা হবে এবং যদি তা সত্য হয়, তাহলে কোড ব্লকটি কার্যকর হবে।
উদাহরণ:
IF AGE >= 18
DISPLAY 'You are an adult.'
END-IF.এই কোডে যদি AGE ১৮ বা তার বেশি হয়, তাহলে "You are an adult." প্রদর্শিত হবে।
IF-ELSE স্টেটমেন্ট
IF-ELSE স্টেটমেন্টের সাহায্যে দুটি ভিন্ন শর্ত যাচাই করা যায়। যদি প্রথম শর্তটি সত্য হয়, তখন প্রথম কোড ব্লক কার্যকর হবে, আর যদি শর্তটি মিথ্যা হয়, তখন অন্য কোড ব্লক কার্যকর হবে।
Sintax:
IF condition
statement(s) 1
ELSE
statement(s) 2
END-IF.এখানে statement(s) 1 তখন কার্যকর হবে যখন শর্ত সত্য হবে, এবং statement(s) 2 কার্যকর হবে যখন শর্ত মিথ্যা হবে।
উদাহরণ:
IF AGE >= 18
DISPLAY 'You are an adult.'
ELSE
DISPLAY 'You are a minor.'
END-IF.এই উদাহরণে, যদি AGE ১৮ বা তার বেশি হয়, তাহলে "You are an adult." প্রদর্শিত হবে। অন্যথায়, "You are a minor." প্রদর্শিত হবে।
IF-ELSE IF-ELSE স্টেটমেন্ট
এটি একাধিক শর্ত পরীক্ষা করতে ব্যবহৃত হয়। একাধিক শর্ত সত্য হতে পারে এবং IF-ELSE IF-ELSE স্টেটমেন্টে শর্তগুলো একের পর এক পরীক্ষা করা হয়।
Sintax:
IF condition1
statement(s) 1
ELSE IF condition2
statement(s) 2
ELSE
statement(s) 3
END-IF.উদাহরণ:
IF AGE >= 18
DISPLAY 'You are an adult.'
ELSE IF AGE >= 13
DISPLAY 'You are a teenager.'
ELSE
DISPLAY 'You are a child.'
END-IF.এই কোডে:
- যদি AGE ১৮ বা তার বেশি হয়, "You are an adult." প্রদর্শিত হবে।
- যদি AGE ১৩ বা তার বেশি এবং ১৮ এর কম হয়, "You are a teenager." প্রদর্শিত হবে।
- অন্যথায়, "You are a child." প্রদর্শিত হবে।
IF-ELSE স্টেটমেন্টে তুলনা অপারেটর
COBOL এ IF-ELSE স্টেটমেন্টের মধ্যে বিভিন্ন তুলনা অপারেটর ব্যবহার করা যেতে পারে। এই অপারেটরগুলো শর্ত নির্ধারণ করতে ব্যবহৃত হয়।
কিছু সাধারণ তুলনা অপারেটর:
- = : সমান
- > : বড়
- < : ছোট
- >= : বড় বা সমান
- <= : ছোট বা সমান
- <> : সমান নয়
উদাহরণ:
IF AGE = 18
DISPLAY 'You are exactly 18 years old.'
ELSE IF AGE > 18
DISPLAY 'You are older than 18.'
ELSE
DISPLAY 'You are younger than 18.'
END-IF.এই উদাহরণে:
- যদি AGE ১৮ হয়, "You are exactly 18 years old." প্রদর্শিত হবে।
- যদি AGE ১৮ এর চেয়ে বড় হয়, "You are older than 18." প্রদর্শিত হবে।
- অন্যথায়, "You are younger than 18." প্রদর্শিত হবে।
Conclusion
COBOL-এ IF-ELSE স্টেটমেন্টের মাধ্যমে শর্তাধীন কোড ব্লক তৈরি করা সম্ভব। এটি প্রোগ্রামটি আরো নমনীয় এবং বুদ্ধিদীপ্তভাবে পরিচালিত করতে সহায়ক হয়, কারণ এটি প্রোগ্রামের মধ্যে শর্ত অনুযায়ী বিভিন্ন কর্মসম্পাদন করতে সক্ষম। IF, IF-ELSE, এবং IF-ELSE IF-ELSE স্টেটমেন্টের ব্যবহার শর্ত অনুযায়ী কোডের কার্যকারিতা পরিবর্তন করতে সাহায্য করে।
COBOL-এ Nested IF এবং Complex Conditions
COBOL একটি প্রাচীন প্রোগ্রামিং ভাষা হলেও, এটি শক্তিশালী IF শর্তাবলী এবং Complex Conditions সমর্থন করে। এগুলি কোডের মধ্যে শর্ত অনুযায়ী বিভিন্ন অপারেশন বাস্তবায়ন করতে ব্যবহৃত হয়। Nested IF এবং Complex Conditions কোডের শর্তাধীন লজিক আরও শক্তিশালী এবং নমনীয় করে তোলে।
১. Nested IF (নেস্টেড IF)
Nested IF হলো একাধিক IF স্টেটমেন্টকে ভিতরে ভিতরে একে অপরের মধ্যে ব্যবহার করা। অর্থাৎ, একটি IF স্টেটমেন্টের ভিতরে অন্য IF স্টেটমেন্ট ব্যবহার করা হয়। এটি এমন পরিস্থিতিতে ব্যবহার করা হয় যেখানে একাধিক শর্তের উপর ভিত্তি করে বিভিন্ন সিদ্ধান্ত নিতে হয়।
Nested IF উদাহরণ:
01 AGE PIC 99.
01 GENDER PIC X.
01 ELIGIBLE PIC X(5).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT GENDER.
IF AGE >= 18
IF GENDER = 'M'
MOVE 'Eligible' TO ELIGIBLE
ELSE
MOVE 'Not Eligible' TO ELIGIBLE
END-IF
ELSE
MOVE 'Underage' TO ELIGIBLE
END-IF
DISPLAY ELIGIBLE.
STOP RUN.ব্যাখ্যা:
- প্রথমে
AGEএবংGENDERইনপুট নেওয়া হচ্ছে। - প্রথম
IFচেক করছে যেAGE১৮ এর বেশি কিনা। যদি হ্যাঁ হয়, তবে ভিতরেরIFচেক করে যে লিঙ্গ পুরুষ (M) কিনা। যদি পুরুষ হয়, তাহলে 'Eligible' ফলাফল দেওয়া হবে, অন্যথায় 'Not Eligible' হবে। - যদি
AGE১৮ এর কম থাকে, তাহলে 'Underage' ফলাফল দেওয়া হবে।
এটি একটি সাধারণ উদাহরণ, যেখানে Nested IF ব্যবহার করে একাধিক শর্ত পরীক্ষা করা হয়েছে।
২. Complex Conditions (জটিল শর্ত)
COBOL-এ Complex Conditions ব্যবহার করা হয় একাধিক শর্ত একত্রিত করে একটি শর্ত তৈরি করার জন্য। একাধিক শর্তের মধ্যে AND, OR, এবং NOT অপারেটর ব্যবহার করে জটিল শর্ত তৈরি করা যায়। COBOL অনেক শর্ত একসাথে পরীক্ষা করতে পারে, যেমন IF AGE > 18 AND GENDER = 'M' অথবা **IF NOT AGE < 18**।
Complex Conditions উদাহরণ:
01 AGE PIC 99.
01 GENDER PIC X.
01 STATUS PIC X(10).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT GENDER.
IF AGE > 18 AND GENDER = 'M'
MOVE 'Eligible for Military' TO STATUS
ELSE IF AGE > 18 AND GENDER = 'F'
MOVE 'Eligible for Civilian' TO STATUS
ELSE
MOVE 'Not Eligible' TO STATUS
END-IF
DISPLAY STATUS.
STOP RUN.ব্যাখ্যা:
- এখানে
IFস্টেটমেন্টে দুটি শর্ত একসাথে AND অপারেটরের মাধ্যমে যোগ করা হয়েছে। - প্রথম শর্তটি পরীক্ষা করছে যদি
AGE১৮ এর বেশি হয় এবংGENDER'M' হয়, তাহলে 'Eligible for Military' স্ট্যাটাস দেওয়া হবে। - অন্যথায়, যদি
AGE১৮ এর বেশি হয় এবংGENDER'F' হয়, তবে 'Eligible for Civilian' স্ট্যাটাস দেওয়া হবে। - যদি কোন শর্ত পূর্ণ না হয়, তবে 'Not Eligible' স্ট্যাটাস সেট হবে।
এটি একটি Complex Condition যেখানে একাধিক শর্ত একত্রিত করে সিদ্ধান্ত নেওয়া হয়েছে।
৩. AND, OR, এবং NOT অপারেটর ব্যবহার
COBOL-এ AND, OR, এবং NOT অপারেটর ব্যবহার করে একাধিক শর্ত পরীক্ষা করা যায়। এগুলি শর্তের মধ্যে যৌক্তিক সম্পর্ক স্থাপন করতে ব্যবহৃত হয়।
উদাহরণ:
01 AGE PIC 99.
01 SALARY PIC 9(5).
01 ELIGIBLE PIC X(10).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT SALARY.
IF AGE > 18 AND SALARY >= 5000
MOVE 'Eligible' TO ELIGIBLE
ELSE IF AGE < 18 OR SALARY < 5000
MOVE 'Not Eligible' TO ELIGIBLE
ELSE
MOVE 'Pending' TO ELIGIBLE
END-IF
DISPLAY ELIGIBLE.
STOP RUN.ব্যাখ্যা:
- এখানে
ANDব্যবহার করা হয়েছে যেAGE১৮ এর বেশি এবংSALARY৫,০০০ এর বেশি হতে হবে, তারপর 'Eligible' হবে। ORব্যবহার করা হয়েছে, যেখানে একটিই শর্ত পূর্ণ হলে 'Not Eligible' হবে।
৪. IF-এর THEN, ELSE এবং ELSE IF ব্যবহার
COBOL-এ IF শর্তের সাথে THEN, ELSE, এবং ELSE IF ব্যবহার করা হয়। এটি কোডের কার্যকারিতা এবং ফ্লো নিয়ন্ত্রণে সহায়ক।
THEN: শর্ত যদি পূর্ণ হয়, তবে এরপরের কোড এক্সিকিউট হবে।ELSE: যদি পূর্বের শর্তটি পূর্ণ না হয়, তবে এই অংশে থাকা কোড এক্সিকিউট হবে।ELSE IF: যদি একটি শর্ত পূর্ণ না হয়, তবে অন্য একটি শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়।
উদাহরণ:
01 AGE PIC 99.
01 GENDER PIC X.
01 RESULT PIC X(15).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT GENDER.
IF AGE >= 18 AND GENDER = 'M' THEN
MOVE 'Eligible for Army' TO RESULT
ELSE IF AGE >= 18 AND GENDER = 'F' THEN
MOVE 'Eligible for Nursing' TO RESULT
ELSE
MOVE 'Not Eligible' TO RESULT
END-IF
DISPLAY RESULT.
STOP RUN.ব্যাখ্যা:
- এখানে
IF-THENএবংELSE IFব্যবহার করা হয়েছে। - যদি
AGE১৮ এর বেশি এবংGENDER'M' হয়, তাহলে 'Eligible for Army' হবে। - অন্যথায়, যদি
AGE১৮ এর বেশি এবংGENDER'F' হয়, তাহলে 'Eligible for Nursing' হবে। - যদি কোন শর্তও না পূর্ণ হয়, তাহলে 'Not Eligible' হবে।
সারসংক্ষেপ
- Nested IF: একাধিক
IFস্টেটমেন্টকে ভিতরে ভিতরে একে অপরের মধ্যে ব্যবহার করা। - Complex Conditions: একাধিক শর্ত একত্রিত করে একটি শর্ত তৈরি করা, যাতে
AND,OR, এবংNOTঅপারেটর ব্যবহৃত হয়। IF-THEN-ELSE: শর্ত অনুযায়ী বিভিন্ন সিদ্ধান্ত নেওয়া এবং কোড ফ্লো নিয়ন্ত্রণ করা।
COBOL-এ IF এবং Complex Conditions ব্যবহার করে আপনি শক্তিশালী লজিক তৈরি করতে পারেন যা কোডের কার্যকারিতা বৃদ্ধি করে এবং ডেটার উপর ভিত্তি করে বিভিন্ন সিদ্ধান্ত নেওয়ার সুযোগ দেয়।
EVALUATE স্টেটমেন্ট এবং এর প্রয়োগ
COBOL প্রোগ্রামিং ভাষায় EVALUATE একটি শক্তিশালী কন্ট্রোল স্টেটমেন্ট, যা মূলত Switch-Case স্টেটমেন্টের মতো কাজ করে, যা বিভিন্ন শর্ত যাচাই করার জন্য ব্যবহৃত হয়। এটি বিভিন্ন শর্ত অনুযায়ী প্রোগ্রাম কোডের বিভিন্ন অংশ নির্বাচন করতে সহায়ক হয়। EVALUATE স্টেটমেন্ট প্রোগ্রামের লজিককে সহজ এবং পরিষ্কার করতে সাহায্য করে, বিশেষ করে যখন একাধিক শর্ত পরীক্ষা করা হয়।
১. EVALUATE স্টেটমেন্টের গঠন
EVALUATE স্টেটমেন্টের সাধারণ গঠন হল:
EVALUATE <expression>
WHEN <condition-1>
<statements>
WHEN <condition-2>
<statements>
WHEN OTHER
<statements>
END-EVALUATE.এখানে:
<expression>হল সেই মান যা আপনি যাচাই করতে চান।WHEN <condition>প্রতিটি শর্ত (case) যা আপনি পরীক্ষা করতে চান।WHEN OTHERএকটি ডিফল্ট শর্ত, যা অন্য কোনো শর্ত মিলে না হলে কার্যকর হয়।
২. EVALUATE স্টেটমেন্টের উদাহরণ
২.১ সাধারণ EVALUATE স্টেটমেন্ট
EVALUATE AGE
WHEN 18
DISPLAY 'You are 18 years old.'
WHEN 21
DISPLAY 'You are 21 years old.'
WHEN 30
DISPLAY 'You are 30 years old.'
WHEN OTHER
DISPLAY 'You have a different age.'
END-EVALUATE.এখানে, AGE এর মান যাচাই করা হচ্ছে:
- যদি AGE ১৮ হয়, তাহলে "You are 18 years old." প্রদর্শিত হবে।
- যদি AGE ২১ হয়, তাহলে "You are 21 years old." প্রদর্শিত হবে।
- যদি AGE ৩০ হয়, তাহলে "You are 30 years old." প্রদর্শিত হবে।
- যদি উক্ত মান কোনো শর্তের সাথে মেলে না, তাহলে "You have a different age." প্রদর্শিত হবে।
২.২ EVALUATE স্টেটমেন্টে Multiple Conditions
EVALUATE স্টেটমেন্টে একাধিক শর্তও ব্যবহার করা যেতে পারে। আপনি WHEN এর মধ্যে একাধিক শর্ত রাখতে পারেন:
EVALUATE TRUE
WHEN AGE > 18 AND AGE <= 25
DISPLAY 'You are a young adult.'
WHEN AGE > 25 AND AGE <= 40
DISPLAY 'You are an adult.'
WHEN AGE > 40
DISPLAY 'You are mature.'
WHEN OTHER
DISPLAY 'Age is not specified correctly.'
END-EVALUATE.এখানে, TRUE ব্যবহার করা হয়েছে, যা যেকোনো শর্তের জন্য কার্যকরী হতে পারে। এরপর শর্তগুলি AND অপারেটর ব্যবহার করে চেক করা হচ্ছে।
২.৩ EVALUATE স্টেটমেন্টে Complex Conditions
EVALUATE স্টেটমেন্টকে আরও শক্তিশালী করে তোলার জন্য আপনি AND, OR অপারেটর ব্যবহার করে একাধিক শর্ত যোগ করতে পারেন।
EVALUATE TRUE
WHEN (AGE > 18 AND AGE < 25) OR (AGE > 40)
DISPLAY 'Age is either between 18-25 or above 40.'
WHEN AGE = 30
DISPLAY 'You are exactly 30 years old.'
WHEN OTHER
DISPLAY 'Age is outside the specified ranges.'
END-EVALUATE.এখানে, OR এবং AND অপারেটর ব্যবহৃত হয়েছে যাতে AGE এর বিভিন্ন পরিসরের শর্তগুলো পরীক্ষা করা যায়।
৩. EVALUATE স্টেটমেন্টের সুবিধা
- ক্লিন এবং সহজ কোড: একাধিক শর্ত যাচাই করতে IF-ELSE স্টেটমেন্টের চেয়ে EVALUATE কোড অনেক বেশি পাঠযোগ্য এবং পরিষ্কার হয়।
- কমপ্লেক্স শর্ত পরীক্ষা: একাধিক শর্ত ও অবস্থা পরীক্ষা করতে EVALUATE স্টেটমেন্ট খুব কার্যকরী।
- ডিফল্ট শর্ত: WHEN OTHER ব্যবহার করে আপনি একটি ডিফল্ট শর্ত নির্ধারণ করতে পারেন, যা অন্য কোনো শর্তে না পড়লে কার্যকর হয়।
৪. EVALUATE স্টেটমেন্টের সীমাবদ্ধতা
- নির্দিষ্ট শর্ত: EVALUATE স্টেটমেন্ট শুধুমাত্র একক এক্সপ্রেশন বা শর্ত পরীক্ষা করতে পারে। যদি একাধিক পৃথক শর্তের মধ্যে লজিক্যাল সম্পর্ক থাকে, তবে IF-ELSE ব্যবহার করা উপযুক্ত হতে পারে।
- গঠনগত জটিলতা: একাধিক শর্ত একসাথে মিলিয়ে দেওয়া গেলে কোড জটিল হতে পারে।
সারসংক্ষেপ
COBOL এর EVALUATE স্টেটমেন্ট একটি শক্তিশালী কন্ট্রোল স্টেটমেন্ট যা একাধিক শর্ত যাচাই করতে ব্যবহৃত হয় এবং এটি Switch-Case স্টেটমেন্টের মতো কাজ করে। এটি কোডের পাঠযোগ্যতা এবং পরিষ্কারতা উন্নত করতে সহায়ক এবং বিভিন্ন শর্ত পরীক্ষা করতে সক্ষম। EVALUATE স্টেটমেন্ট ব্যবহারের মাধ্যমে আপনি কোডে লজিক্যাল কার্যক্রম সহজে সম্পাদন করতে পারবেন।
COBOL এ Decision Making Techniques
COBOL প্রোগ্রামিং ভাষায় Decision Making Techniques ব্যবহৃত হয় যাতে প্রোগ্রামটি বিভিন্ন শর্তের ভিত্তিতে সিদ্ধান্ত নিতে পারে। সাধারণভাবে, এই টেকনিকগুলি IF-ELSE, EVALUATE এবং PERFORM UNTIL এর মাধ্যমে শর্তযুক্ত কার্যক্রম বা সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত হয়। COBOL-এ Decision Making মূলত প্রোগ্রামের লজিক্যাল প্রবাহ নিয়ন্ত্রণ করতে সহায়ক।
১. IF-ELSE স্টেটমেন্ট
COBOL-এ IF-ELSE স্টেটমেন্ট সবচেয়ে সাধারণ Decision Making টেকনিক, যা একটি শর্ত পরীক্ষা করে এবং সেই অনুযায়ী একটি কার্যকরী স্টেটমেন্ট বা ব্লক কার্যকর করে। এটি থেকে শর্ত নির্ধারণ এবং অন্যথায় বিকল্প কর্মপদ্ধতি নির্ধারণের জন্য ব্যবহৃত হয়।
সিনট্যাক্স:
IF condition
statement-1
ELSE
statement-2
END-IF.উদাহরণ:
IDENTIFICATION DIVISION.
PROGRAM-ID. DecisionMakingExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(3) VALUE 50.
01 NUM2 PIC 9(3) VALUE 30.
PROCEDURE DIVISION.
IF NUM1 > NUM2
DISPLAY 'NUM1 is greater than NUM2'
ELSE
DISPLAY 'NUM2 is greater than NUM1'
END-IF.
STOP RUN.ব্যাখ্যা:
- এখানে NUM1 এবং NUM2 এর মধ্যে তুলনা করা হচ্ছে। যদি NUM1 বড় হয়, তবে
NUM1 is greater than NUM2প্রদর্শিত হবে, অন্যথায়NUM2 is greater than NUM1।
২. IF-ELSEIF-ELSE স্টেটমেন্ট
এটি একাধিক শর্ত যাচাই করতে ব্যবহৃত হয়। যখন একাধিক শর্ত পরীক্ষা করা প্রয়োজন হয়, তখন IF-ELSEIF-ELSE ব্যবহৃত হয়।
সিনট্যাক্স:
IF condition-1
statement-1
ELSE IF condition-2
statement-2
ELSE
statement-3
END-IF.উদাহরণ:
IDENTIFICATION DIVISION.
PROGRAM-ID. DecisionMakingExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(3) VALUE 50.
01 NUM2 PIC 9(3) VALUE 50.
PROCEDURE DIVISION.
IF NUM1 > NUM2
DISPLAY 'NUM1 is greater than NUM2'
ELSE IF NUM1 = NUM2
DISPLAY 'NUM1 is equal to NUM2'
ELSE
DISPLAY 'NUM2 is greater than NUM1'
END-IF.
STOP RUN.ব্যাখ্যা:
- এখানে প্রথম শর্তে NUM1 > NUM2 চেক করা হবে, যদি এটি মিথ্যা হয়, তাহলে পরবর্তী শর্ত NUM1 = NUM2 চেক করা হবে এবং তারপরও এটি যদি মিথ্যা হয়, তাহলে অন্যথায় NUM2 > NUM1 বিবেচিত হবে।
৩. EVALUATE স্টেটমেন্ট
COBOL-এ EVALUATE স্টেটমেন্ট একটি শক্তিশালী Decision Making টেকনিক, যা switch-case স্টেটমেন্টের মতো কাজ করে। এটি একাধিক শর্ত যাচাই করতে এবং সঠিক সিদ্ধান্ত গ্রহণ করতে ব্যবহৃত হয়।
সিনট্যাক্স:
EVALUATE expression
WHEN condition-1
statement-1
WHEN condition-2
statement-2
WHEN OTHER
statement-3
END-EVALUATE.উদাহরণ:
IDENTIFICATION DIVISION.
PROGRAM-ID. DecisionMakingExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(3) VALUE 10.
PROCEDURE DIVISION.
EVALUATE NUM1
WHEN 10
DISPLAY 'NUM1 is ten'
WHEN 20
DISPLAY 'NUM1 is twenty'
WHEN OTHER
DISPLAY 'NUM1 is neither ten nor twenty'
END-EVALUATE.
STOP RUN.ব্যাখ্যা:
- এখানে NUM1 এর মানের উপর ভিত্তি করে সিদ্ধান্ত নেওয়া হচ্ছে। যদি NUM1 এর মান ১০ হয়, তবে
NUM1 is tenপ্রদর্শিত হবে। অন্যথায়, যদি NUM1 ২০ হয়, তবেNUM1 is twentyপ্রদর্শিত হবে। যদি কোন শর্ত মেল না খায়, তবেNUM1 is neither ten nor twentyদেখাবে।
৪. PERFORM UNTIL (Looping with Decision)
PERFORM UNTIL স্টেটমেন্টটি একটি শর্ত যাচাই করে, এবং তা পূর্ণ না হওয়া পর্যন্ত একটি নির্দিষ্ট কাজ পুনরাবৃত্তি করে। এটি Decision Making এবং লুপিং উভয়ই করতে ব্যবহৃত হয়।
সিনট্যাক্স:
PERFORM UNTIL condition
statement
END-PERFORM.উদাহরণ:
IDENTIFICATION DIVISION.
PROGRAM-ID. DecisionMakingExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
PERFORM UNTIL COUNTER > 5
DISPLAY 'Counter value: ' COUNTER
ADD 1 TO COUNTER
END-PERFORM.
STOP RUN.ব্যাখ্যা:
- এখানে COUNTER এর মান ১ থেকে ৫ পর্যন্ত বৃদ্ধি পাবে, এবং PERFORM UNTIL স্টেটমেন্টটি কাজ চলবে যতক্ষণ না COUNTER এর মান ৫ এর বেশি না হয়ে যায়। প্রতিটি ইটারেশনে COUNTER এর মান প্রদর্শিত হবে।
সারসংক্ষেপ
COBOL-এ Decision Making টেকনিকের মাধ্যমে প্রোগ্রামটি শর্তের উপর ভিত্তি করে সিদ্ধান্ত নিতে পারে। প্রধানভাবে IF-ELSE, EVALUATE, এবং PERFORM UNTIL স্টেটমেন্টগুলি ব্যবহার করা হয়। এগুলি COBOL প্রোগ্রামিংকে আরও গতিশীল এবং লজিক্যালভাবে কার্যকরী করে তোলে, যা বিভিন্ন শর্ত এবং পরিস্থিতিতে প্রোগ্রামটির আচরণ নিয়ন্ত্রণ করতে সহায়ক।
Read more